草庐IT

c++ - g++ 包括 boost 库

全部标签

windows - 为什么 boost::filesystem is_directory 在作为 Windows 服务运行时返回不同的结果?

我有一些代码可以遍历目录中的文件并对非目录文件执行有用的操作,如下所示:namespacebfs=boost::filesystem;for(bfs::directory_iteratoriterDir(m_inPath);bContinue&&iterDir!=bfs::directory_iterator();iterDir++){std::stringfilename=iterDir->path().filename().string();boost::to_lower(filename);if(!bfs::is_directory(*iterDir)&&Condition2(f

windows - 在 Windows 7 上构建 Boost 1.49

我正在尝试在Windows上构建Boost。我用了this例子。因此,在执行'bjamtoolset=gcc'后,我收到以下错误:**C:/boost/tools/build/v2/tools\gcc.jam:129:ingcc.initfrommodulegccerror:toolsetgccinitialization:error:nocommandprovided,defaultcommand'g++'notfounderror:initializedfromC:/boost/tools/build/v2/build\toolset.jam:38:intoolset.usingf

c++ - 如何为代码块 13.12 编译 boost 1.55.0 到 win7(32 位)?

我已经研究了几个小时了,但在任何地方都找不到直接的答案。将boostzip内容解压到目录(放在C:\ProgramFiles\boost_1_55_0中)后,我启动命令提示符并尝试按照指示编译批处理(bootsrap.bat)。失败。消息返回:构建Boost.Build引擎'cl'不是内部或外部命令,也不是可运行的程序或批处理文件。无法构建Boost.Build引擎。请查阅bootstrap.log以进行进一步诊断。bootstrap.log显示:######Using'msvc'toolset.###C:\ProgramFiles\boost_1_55_0\tools\build\v

c++ - 启动 Boost 线程时的保证

我正在使用Boost和VisualStudio2013don'tsupportstheC++11memorymodel.启动Boost线程时是否有任何内存保证?我在JavaLanguageSpecification17.4.5中寻找保证:Acalltostart()onathreadhappens-beforeanyactionsinthestartedthread.在我的例子中,我想创建一个(非线程安全的)TCP客户端,而不是启动一个接收线程:structConnection{boost::shared_ptrclient;};autoclient=boost::shared_ptr

linux - 使用包括 Lapack 在内的 CMake 将 Fortran 库从 Linux 交叉编译到 Windows

我有一个在Linux上开发的Fortran库,我想与通常使用Windows的同事共享。我不希望他们帮助开发它,所以我只想使用交叉编译器生成一个静态可执行文件,以便他们可以运行它。我可以使用Linux(openSUSE)上的交叉编译器工具链编译简单的Helloworld程序,它可以在Windows上正常运行,但是当我尝试将可执行文件链接到另一个库(Lapack)时,Windows会提示它也找不到动态链接的.dll文件。在我的问题中,我展示了如何使用编译源代码最小工作示例我使用openSUSE,它提供了一个交叉编译组件的存储库。首先,我安装了mingw64-cross-toolchain以

windows - 能否完全捕获 Windows 控制台应用程序的控制台输出(包括高级操作)?

重定向控制台程序的标准输入/输出是一件微不足道的事情,但如果程序使用高级控制台功能呢?就像输出彩色文本、四处移动光标和直接操作控制台缓冲区一样?是否也可以捕获并重定向到我自己的程序进行处理?注意:我说的是我的应用程序(不一定是控制台应用程序)运行控制台应用程序并将其输入/输出重定向到自身的场景。注意2:最后我想要C#代码,但现在让我们坚持使用裸Win32API和C或C++。无论如何,我认为没有PInvoke是不可能的,所以让我们先了解一下基本原则(如果可能的话)。 最佳答案 与Linux不同,所有颜色IO都不会通过简单的重定向来捕获

c++ - 在 win32::WaitForSingleObject 期间 Windows 上的 Boost.Thread 断言/崩溃

我的代码中有一个很少发生的问题会触发断言,涉及Boost.Thread库。我无法使用独立示例重现此问题,而且我也不知道是什么原因造成的,因此很难提供示例案例。我希望任何熟悉boost.thread内部结构的人都能提供帮助。这是我知道的:问题发生在boost::lock_guard(或unique_lock和普通非递归互斥锁的变体)被声明。它发生在Boost.Asio的处理函数中。堆栈上是执行io_service::run的线程,一堆调用Asio回调函数的胶水,然后是我的回调函数(由async_write调用触发)。该函数的第一行是lock_guard的声明这是导致问题的原因。this我

c++ - 使用 boost::filesystem 将文件路径从 Windows 转换为 Linux,然后再转换回来

是我,还是boost::filesystem::path::make_preferred没有将“\”转换为“/”?davidan@kempt:~/Documents/prog/work!$../practice/./path_infoc:\pitoufoo/bar\baa.txtcomposedpath:coutmake_preferred()----------:"c:pitou/foo/bar\baa.txt"我很期待c:\pitou\foo\bar\baa.txt在window上和/pitou/foo/bar/baa.txt(或类似的东西)在POSIX上来源在这里:boost::

C++ Boost 为两个不同的进程创建共享内存

因此,我尝试在C++程序中创建一个共享内存段,这样我就可以在其中写入一个简单的字符,然后从另一个C++程序中读取该字符。我已经下载了Boost库,因为我看到它简化了这个过程。基本上我有两个问题:首先,创建后如何写入它?那我应该在第二个程序中写些什么来识别段并读取其中的信息?这就是我到目前为止所得到的。不是很多,但我对这个(第一个程序)还是很陌生:#include"stdafx.h"#include#includeintmain(intargc,char*argv[]){usingnamespaceboost::interprocess;windows_shared_memoryshar

windows - SelectDirectory 不包括某些机器上的驱动器

以下代码在不同的机器上得到不同的结果。一台机器只提供桌面文件夹(不需要),另一台机器提供桌面文件夹和计算机,映射驱动器(需要)。procedureTForm1.Button1Click(Sender:TObject);varDirectory:String;beginFileCtrl.SelectDirectory('Caption','Desktop',Directory,[sdNewUI,sdShowEdit]);end;它提供的一台机器:在另一个它给出:这感觉像是Windows设置,但我不确定从哪里开始。使用DelphiXE,Windows10。任何想法表示赞赏。感谢您的宝贵时间